C語言-運算子


Posted by pei_______ on 2022-04-14

// 【算術運算子】- C語言運算要注意型態

// 不同型別運算-自然轉換(double> float> int> short> char)
printf("%.0f\n" , 9.0 / 5*100); // = 1.8*100 = 180

// 相同型別運算-不會轉換(計算可能有誤)
printf("%d\n" , 9 / 5*100); // = 1*100 = 100 

// 強迫型別(暫時性)轉換 
printf("%.0f\n" , (float)9 / 5*100); // = 1.8*100 = 180

//【關係運算子】- C語言只會有 1 (ture), 0 (false)

printf("%d > %d 結果 %d\n", num1, num2, num1 > num2); 
printf("%d >= %d 結果 %d\n", num1, num2, num1 >= num2);
printf("%d < %d 結果 %d\n", num1, num2, num1 < num2);
printf("%d <= %d 結果 %d\n", num1, num2, num1 <= num2); 
printf("%d == %d 結果 %d\n", num1, num2, num1 == num2);
printf("%d != %d 結果 %d\n", num1, num2, num1 != num2);

// 【條件運算子】- (條件式 ? 真的結果 : 假的結果 ;)

printf("請輸入分數: ");
short score;
scanf("%d",&score);

(score>=60 ? printf("%d分,及格\n",score):printf("%d分,不及格\n",score));

// 【邏輯運算子】- And = &&(&) ; Or = ||(|) ; Not = !

printf("請輸入西元年: ");
short year;
scanf("%d",&year);

(year % 400 == 0  || (year % 4 == 0 && !(year % 100 == 0) )?
printf("\n西元%d年是閏年",year):printf("\n西元%d年是平年",year));

// 【遞增遞減運算子】-前置:++a,--a / 後置:a++,a--

//若有執行(printf或指定)
//前置:變數本身先+/-1,再執行
//後置:先執行,再變數本身+/-1

//若沒有執行
//前置/後置:變數本身皆+/-1

int a = 100;
printf("%d\n",a++); // a=100
printf("%d\n",a); // a=101

int a = 100;
printf("%d\n",++a); // a=101
printf("%d\n",a); // a=101

int a = 100;
int b = a++;
printf("%d\n",a); // a=101
printf("%d\n",b); // b=100

int a = 100;
int b = ++a;

printf("%d\n",a); // a=101
printf("%d\n",b); // b=101

// 【複合運算子】-遞增 / 遞減 > 1

// a =  a + 1 ==>  a +=
// a =  a - 1 ==>  a -=
// a =  a * 1 ==>  a *=
// a =  a / 1 ==>  a /=

#C語言 #課堂筆記







Related Posts

VS Code配置紀錄

VS Code配置紀錄

DAY42:Consecutive strings

DAY42:Consecutive strings

給自己看的 JS 進階-變數

給自己看的 JS 進階-變數


Comments